home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.metal;
-
- import com.sun.java.swing.AbstractButton;
- import com.sun.java.swing.ButtonModel;
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.JCheckBox;
- import com.sun.java.swing.plaf.UIResource;
- import java.awt.Component;
- import java.awt.Graphics;
- import java.io.Serializable;
-
- public class MetalCheckBoxIcon implements Icon, UIResource, Serializable {
- protected void drawCheck(Component c, Graphics g, int x, int y) {
- int controlSize = this.getControlSize();
- g.fillRect(x + 3, y + 5, 2, controlSize - 8);
- g.drawLine(x + (controlSize - 4), y + 3, x + 5, y + (controlSize - 6));
- g.drawLine(x + (controlSize - 4), y + 4, x + 5, y + (controlSize - 5));
- }
-
- protected int getControlSize() {
- return 13;
- }
-
- public int getIconHeight() {
- return this.getControlSize();
- }
-
- public int getIconWidth() {
- return this.getControlSize();
- }
-
- public void paintIcon(Component c, Graphics g, int x, int y) {
- JCheckBox cb = (JCheckBox)c;
- ButtonModel model = ((AbstractButton)cb).getModel();
- int controlSize = this.getControlSize();
- model.isSelected();
- if (model.isEnabled()) {
- if (model.isPressed() && model.isArmed()) {
- g.setColor(MetalLookAndFeel.getControlShadow());
- g.fillRect(x, y, controlSize - 1, controlSize - 1);
- MetalUtils.drawPressed3DBorder(g, x, y, controlSize, controlSize);
- } else {
- MetalUtils.drawFlush3DBorder(g, x, y, controlSize, controlSize);
- }
-
- g.setColor(MetalLookAndFeel.getControlInfo());
- } else {
- g.setColor(MetalLookAndFeel.getControlShadow());
- g.drawRect(x, y, controlSize - 1, controlSize - 1);
- }
-
- if (model.isSelected()) {
- this.drawCheck(c, g, x, y);
- }
-
- }
- }
-